3D技术分享:有着30多款3D小游戏产品的长沙嗨鹿互动科技资深研发工程师分享3D游戏研发经验
LayaAir引擎在小游戏3D领域一直有着领先的3D引擎技术优势和众多的案例产品,涵盖了各种3D小游戏产品类型,甚至包含了MOBA、FPS、TPS、MMO、SLG等重度类型3D产品,之前推荐的主题产品文章《LayaAir引擎78款3D射击主题微信小游戏分享,看看玩过几款!》与《132款3D跑酷极限运动主题的微信小游戏分享》也对部分LayaAir引擎游戏产品进行了介绍。
有一些开发者反馈,希望能听到一些研发团队的干货分享。今天他来了,本次,我们邀请到长沙嗨鹿互动科技有限公司可可佩里工作室的3D开发资深工程师黄敏进行一些3D游戏研发的经验分享。
《指尖乐动》小程序码
《机械球快跑》小程序码
《推倒一切》小程序码
《车轮压一压》小程序码
《给脚就跑》小程序码
《叠高跑圈圈》小程序码
《搞把大宝剑》小程序码
《搞把大宝剑》是我们最新的3D游戏作品,是技术挑战与市场风向的双向选择,我们就以这款游戏为例介绍一下。
站在技术角度来说,这款游戏主要亮点就是模型mesh的顶点变形和mesh切割算法,还有就是相关的uv贴图处理。
我们的磨刀材料模型是由几百个平均分布于模型Y轴2边的顶点组成,他们之间的坐标都具有对称关系。当发生磨刀石摩擦的时候,实际并未真实切割,而是将顶点在Y轴方向上进行位移并重新生成新的mesh,但是从外观上来看相当于这一块被磨掉了。而第2个环节则是将Z轴上的顶点位移到0位置,这样就会变成刃的状态,其实就是使用了顶点变形技术。
最后的切割部分则是真实的模型切割,将模型各个三角形根据切割平面分成2份,并将被切割断的三角形补偿2个顶点由一个三角形变成3个三角形,同时修改其UV贴图,这个补偿算法就是项目中比较复杂的地方。
还有一个就是切割面的覆盖问题,使用补偿算法中生成的新顶点可以构成结构几个多边形,根据这几个多边形进行三角形分组,形成一个补偿面即可生成覆盖完全的切割面。这个算法就是最复杂的部分,我这边还只实现了凸多边形,如果出现凹多边形就会出问题,这个算法还会继续优化!
LayaAir引擎:通常尝试一个新的游戏类型时,都会踩一些坑,团队在制作这个小游戏的时候,是否也遇到一些坑点经验可以分享的?
LayaAir引擎:逐个体验了一下你们的游戏,真的很赞。不过,里面有很多都是物理游戏。众所周知,iOS系统,小游戏平台是不能使用JIT的,这对性能是个比较大的考验,你们的物理小游戏在iOS上,有什么优化技巧没有?
其他分享的话就是,有一个厉害的3D美术搭档真是一个赏心悦目的事情。还有就是游戏开发周期过长的话,一个有耐心的策划和制作人还有老板也是必须的。
LayaAir引擎:最后一个问题,LayaAir 3D引擎当前是否能满足开发需要,对于引擎未来的开发,有什么建议没有?
写在最后,
END
引擎版本更新说明:
LayaAir2.3支持任意多光源渲染, 引擎开始在GitHub实时提交维护了!3D导出插件支持Unity2018了!